axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
const errorCode = {
    '401': '认证失败，无法访问系统资源',
    '403': '当前操作没有权限',
    '404': '访问资源不存在',
    'default': '系统未知错误，请反馈给管理员'
}

// 创建axios实例
const request = axios.create({
    // 超时
    timeout: 10000
})
// request拦截器
request.interceptors.request.use(config => {
    return config
}, error => {
    console.log(error)
    Promise.reject(error)
})

// 响应拦截器
request.interceptors.response.use(res => {
        // 未设置状态码则默认成功状态
        const code = res.data.code || 200;
        // 获取错误信息
        const message = errorCode[code] || res.data.msg || errorCode['default']
         if (code === 500) {
            Vue.prototype.$message({
                message: message,
                type: 'error'
            })
            return Promise.reject(new Error(message))
        } else if (code !== 200 && code !== 203) {
            // Notification.error({
            //   title: message
            // })
             Vue.prototype.$message({
                 message: message,
                 type: 'error'
             })
            return Promise.reject('error')
        } else {
            const result = res.data
            if(typeof(result) === 'object'){
                result.server_time = new Date(res.headers.date)
            }
            return result
        }
    },
    error => {
        console.log('err' + error)
        Vue.prototype.$message({
            message: error.message,
            type: 'error'
        })
        return Promise.reject(error)
    }
)